Telegram Group & Telegram Channel
Boshiga https://www.tg-me.com/tr/Python dasturlash maktabi/com.pythonuz/590

###################

Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.

x = [1, 2, 3, 4, 5]
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")

list index out of range, <class 'IndexError'>

# ——————————————-#

lugat = {1: 'one', 2: 'two'}
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')

3, <class 'KeyError'>

###################

Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.

import numpy
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)

Unable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
###################

Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.

try:
prin('Hello')
except NameError as e:
print(e, e.class)

name 'prin' is not defined <class 'NameError'>

# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.

try:
var = 42
print(war)
except NameError as e:
print(e, e.class)

name 'war' is not defined <class 'NameError'>

# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.

def func():
x += 1
print(x)


func()

UnboundLocalError: local variable 'x' referenced before assignment

###################

Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.

len() = 5

SyntaxError: cannot assign to function call

# ——————————————-#

fro i in range(10):
print(i)

SyntaxError: invalid syntax

# ——————————————-#

Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.

num = 5
if num == 5:
print('ok')

IndentationError: expected an indented block

# ——————————————-#

Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi

rating_range = 1
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)

TabError: inconsistent use of tabs and spaces in indentation

###################

Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.

——————————————-#

Matn va sonni birlashtirishga uringanda

num  = 42
matn = '-maktab'
print(num + matn)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

——————————————-#

O'zgaruvchini funksiya ko'rinishida chaqirganda

var = 'pythonuz'
print(var())

TypeError: 'str' object is not callable

——————————————-#

Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda

royxat = ['pythonuz', 'phpuz']
print(royxat['1'])

TypeError: list indices must be integers or slices, not str

###############

Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.

import math
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})

{ValueError('math domain error')} {<class 'ValueError'>}

——————————————-#

try:
int('two')
except ValueError as e:
print({e}, {e.class})


{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}

###############

Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz



tg-me.com/pythonuz/591
Create:
Last Update:

Boshiga https://www.tg-me.com/tr/Python dasturlash maktabi/com.pythonuz/590

###################

Mavjud bo'lmagan indeks yoki kalitlarni tekshirish uchun umumiy LookupError dan yoki LookupError dan meros bo'lib olingan IndexError, KeyError dan foydalanishingiz mumkin.

x = [1, 2, 3, 4, 5]
try:
print(x[5])
except LookupError as e:
print(f"{e}, {e.class}")

list index out of range, <class 'IndexError'>

# ——————————————-#

lugat = {1: 'one', 2: 'two'}
try:
print(lugat[3])
except LookupError as e:
print(f'{e}, {e.class}')

3, <class 'KeyError'>

###################

Dastur operatsion tizim xotirasidan katta hajmdagi xotirani iste'mol qilganda MemoryError xatoligi paydo bo'ladi.

import numpy
try:
numpy.ones((9999999999,))
except MemoryError as e:
print(e)

Unable to allocate 74.5 GiB for an array with shape (9999999999,) and data type float64
###################

Noto'g'ri yozilgan funksiya nomi yozilganda dastur NameError xatoligini qaytaradi.

try:
prin('Hello')
except NameError as e:
print(e, e.class)

name 'prin' is not defined <class 'NameError'>

# ——————————————-#
Mavjud bo'lmagan o'zgaruvchi yozilganda dastur NameError xatoligini qaytaradi.

try:
var = 42
print(war)
except NameError as e:
print(e, e.class)

name 'war' is not defined <class 'NameError'>

# ——————————————-#
O'zgaruvchisi biror tur/qiymatga ega bo'lmagan funksiyaga murojaat qilinganda dastur UnboundLocalError xatoligini qaytaradi.

def func():
x += 1
print(x)


func()

UnboundLocalError: local variable 'x' referenced before assignment

###################

Dastur ishga tushirilganda dasturlash tili qoidalariga amal qilinmaganda (sintaksis xatolar bo'lsa) SyntaxError xatoligini qaytaradi.Keraksiz joyda nuqta, vergul, bo'sh joy, operator yoki funksiyalar nomini xato yozish, ochilmay yoki yopilmay qolgan qavs, ikkitirnoq yoki birtirnoqlar, o'zgaruvchilarga noto'g'ri nom berish SyntaxError ga misol bo'la oladi.

len() = 5

SyntaxError: cannot assign to function call

# ——————————————-#

fro i in range(10):
print(i)

SyntaxError: invalid syntax

# ——————————————-#

Kod bloklarida noto'g'ri yozilgan bo'sh joylar IndentationError xatoligini qaytaradi.

num = 5
if num == 5:
print('ok')

IndentationError: expected an indented block

# ——————————————-#

Yorliqlar va bo'shliqlardan noto'g'ri foydalanganda dastur TabError xatoligini qaytaradi

rating_range = 1
for row in range(6):
if 200 <= 199:
rating_range += 1
print(rating_range)

TabError: inconsistent use of tabs and spaces in indentation

###################

Noto'g'ri ma'lumot turlari ustida amallar bajarilganda dastur TypeError xatoligini qaytaradi.
Quyidagi holatlarda dastur TypeError xatoligini qaytaradi.

——————————————-#

Matn va sonni birlashtirishga uringanda

num  = 42
matn = '-maktab'
print(num + matn)

TypeError: unsupported operand type(s) for +: 'int' and 'str'

——————————————-#

O'zgaruvchini funksiya ko'rinishida chaqirganda

var = 'pythonuz'
print(var())

TypeError: 'str' object is not callable

——————————————-#

Ro'yxat indeksida noto'g'ri ma'lumot turi ko'rsatilganda

royxat = ['pythonuz', 'phpuz']
print(royxat['1'])

TypeError: list indices must be integers or slices, not str

###############

Biror amal yoki funktsiya mos bo'lmagan qiymatga ega bo'lgan argumentni qabul qilganda dastur ValueError xatoligini qaytaradi.

import math
x = -9
try:
print(f'{x} ning kvadrat ildizi {math.sqrt(x)}')
except ValueError as e:
print({e}, {e.class})

{ValueError('math domain error')} {<class 'ValueError'>}

——————————————-#

try:
int('two')
except ValueError as e:
print({e}, {e.class})


{ValueError("invalid literal for int() with base 10: 'two'")} {<class 'ValueError'>}

###############

Python dasturlash tiliga oid savollarni ushbu guruhga yozing @apiuz

BY Python dasturlash maktabi




Share with your friend now:
tg-me.com/pythonuz/591

View MORE
Open in Telegram


Python dasturlash maktabi Telegram | DID YOU KNOW?

Date: |

If riding a bucking bronco is your idea of fun, you’re going to love what the stock market has in store. Consider this past week’s ride a preview.The week’s action didn’t look like much, if you didn’t know better. The Dow Jones Industrial Average rose 213.12 points or 0.6%, while the S&P 500 advanced 0.5%, and the Nasdaq Composite ended little changed.

Telegram hopes to raise $1bn with a convertible bond private placement

The super secure UAE-based Telegram messenger service, developed by Russian-born software icon Pavel Durov, is looking to raise $1bn through a bond placement to a limited number of investors from Russia, Europe, Asia and the Middle East, the Kommersant daily reported citing unnamed sources on February 18, 2021.The issue reportedly comprises exchange bonds that could be converted into equity in the messaging service that is currently 100% owned by Durov and his brother Nikolai.Kommersant reports that the price of the conversion would be at a 10% discount to a potential IPO should it happen within five years.The minimum bond placement is said to be set at $50mn, but could be lowered to $10mn. Five-year bonds could carry an annual coupon of 7-8%.

Python dasturlash maktabi from tr


Telegram Python dasturlash maktabi
FROM USA